// 上面这个代码处理过度动画（默认加上不用管）
document.addEventListener('DOMContentLoaded', () => {
  setTimeout(() => {
    document.body.classList.add('sidenav-pinned')
    document.body.classList.add('ready')
  }, 200)
})

// 页面(路由)的权限控制
function routeAuth() {
  const token = window.sessionStorage.getItem('token') || ''
  // login.html和register.html不需要判断token有没有
  const pathname = location.pathname
  //console.log(pathname); // /login.html
  if (pathname !== '/login.html' && pathname !== '/register.html') {
    if (!token) {
      info({ message: '请先登录', type: 'error' })
      location.href = '/login.html'
      return
    }
  }
}
routeAuth()


// 退出登录
$('#logout').click(function(){
   // 清除sessionStorage的缓存
   sessionStorage.removeItem('token')
   sessionStorage.removeItem('username')
   sessionStorage.removeItem('avatar')
   info({message:'退出成功'})
   location.href='/login.html'
})



/**
 * 封装提示框函数
 * @param1 {message} 提示信息
 * @param2 {type} 成功或者失败,取值为success|error
 */

function info({ message, type = 'success' }) {
  // 创建提示框的对象
  var toastHtml =
    $(`<div class="position-fixed top-0 start-50 pt-4" style="z-index: 1999; transform: translateX(-50%)">
   <div id="myToast" class="${
     type === 'success' ? 'toast bg-rgba success' : 'toast bg-rgba error'
   }">
     <div class="toast-body">${message}</div>
   </div>
  </div>`)
  // 追加到body中
  $('body').append(toastHtml)
  // 测试提示框组件
  var myToast = $('#myToast')[0]
  const toast = new bootstrap.Toast(myToast, {
    delay: type === 'success' ? 1000 : 2000,
  })
  toast.show()
  // 当提示框组件隐藏后销毁掉该组件，方便下次再调用时，重新创建新的dom结构，否则下次使用还用的是上一次的缓存
  myToast.addEventListener('hidden.bs.toast', () => {
    // 销毁组件
    toastHtml.remove()
  })
}
